//
//  Date+Extension.swift
//  新浪微博
//
//  Created by 名品导购网MPLife.com on 2017/12/20.
//  Copyright © 2017年 sweet. All rights reserved.
//

import Foundation
//日期格式化器-不要频繁的释放和创建 会影响性能
private let dateFormatter = DateFormatter()
//当前日历对象
private let calender = Calendar.current

extension Date{
    //swift如果要定义结构体的类函数 使用static修饰->静态函数
    static func cz_dateString(delta:TimeInterval)->String {
        let date = Date(timeIntervalSinceNow: delta)
        //指定日期格式
        dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
        return dateFormatter.string(from: date)
    }
    /// 将新浪格式的字符串转换成日期
    ///
    /// - Parameter string: 时间格式
    /// - Returns: 日期
    static func cz_sinaDate(string:String)->Date?{
        //1.设置日期格式
        
        dateFormatter.dateFormat  = "EEE MMM dd HH:mm:ss zzz yyyy"
        //转换并且返回日期
       return dateFormatter.date(from: string)
    }
    /*
     刚刚
     一小时内
     几小时前
     昨天
     一年内
     更早日期
 */
    var cz_dateDescription:String{
        //判断日期是否是今天
        if calender.isDateInToday(self) {
            let deta = -Int(self.timeIntervalSinceNow)
            if deta < 60 {
                return "刚刚"
            }
            if deta < 3600 {
                return "\(deta / 60)分钟前"
            }
            return "\(deta/3600)小时前"
        }
        var fmt = "HH:mm"
        if calender.isDateInYesterday(self){
            fmt = "昨天" + fmt
        }else{
            fmt = "MM-dd" + fmt
            let year = calender.component(.year, from: self)
            let thisYear = calender.component(.year, from: Date())
            if year != thisYear {
                fmt = "yyyy-" + fmt
            }
        }
        //设置日期格式字符串
        dateFormatter.dateFormat = fmt
        return dateFormatter.string(from: self)
    }
    
}

























